package com.xx.eshop.test;

import java.io.FileInputStream;
import java.io.FileNotFoundException;

import org.junit.Test;

import com.xx.eshop.util.UploadUtils;

public class MD5 {
	
	/* md5 签名  : 1. 针对内容生成一个唯一的字符串， 只要文件内容一样，生成的签名也一样.
	 *           2. 不管原始文件的大小如何，生成的签名长度都是固定的 16字节
	 *           3. 运算不可逆
	 *    用途1: 根据内容区分文件
	 *    用途2： 可以用来做对安全要求不高的加密处理
	 *    
	 * sha1 签名运算, 安全程度比md5更好
	 */
	
	@Test
	public void test1() throws FileNotFoundException {
		String md5 = UploadUtils.getMD5NameOnly(new FileInputStream("E:\\1.jpg"));
		System.out.println(md5);
		md5 = UploadUtils.getMD5NameOnly(new FileInputStream("E:\\2.jpg"));
		System.out.println(md5);
		md5 = UploadUtils.getMD5NameOnly(new FileInputStream("E:\\1.txt"));
		System.out.println(md5);
	}
	
	
	@Test
	public void test2() {
		String password = "123456" + "aaa"; // 加盐混淆法
		String md5 = UploadUtils.toMD5(password);
		System.out.println(md5);
	}
	
	// 100000 u28q947329u32iouroi
	// 100001 2789473289473989274
	// 123456 e10adc3949ba59abbe56e057f20f883e 穷举法（字典法）

}
